Visual Basic (Declaration) | |
---|---|
Public Overloads Function AddOrUpdate( _ ByVal key As TKey, _ ByVal fnCreate As Converter(Of TKey,TValue), _ ByVal fnUpdate As CSharpTest.Net.Collections.KeyValueUpdate(Of TKey,TValue) _ ) As TValue |
C# | |
---|---|
public TValue AddOrUpdate( TKey key, Converter<TKey,TValue> fnCreate, CSharpTest.Net.Collections.KeyValueUpdate<TKey,TValue> fnUpdate ) |
Parameters
- key
- fnCreate
- fnUpdate
Adds or modifies an element with the provided key and value. If the key does not exist in the collection, the factory method fnCreate will be called to produce the new value, if the key exists, the converter method fnUpdate will be called to create an updated value.
Library/Library.Test/TestLurchTable.cs
C# | Copy Code |
---|---|
var data = new LurchTableTest<int, string>(); Assert.AreEqual("a", data.AddOrUpdate(1, "a", (k, v) => k.ToString())); Assert.AreEqual("1", data.AddOrUpdate(1, "a", (k, v) => k.ToString())); Assert.AreEqual("b", data.AddOrUpdate(2, k => "b", (k, v) => k.ToString())); Assert.AreEqual("2", data.AddOrUpdate(2, k => "b", (k, v) => k.ToString())); |
VB.NET | Copy Code |
---|---|
Dim data As var = New LurchTableTest(Of Integer, String)() Assert.AreEqual("a", data.AddOrUpdate(1, "a", Function(k, v) k.ToString())) Assert.AreEqual("1", data.AddOrUpdate(1, "a", Function(k, v) k.ToString())) Assert.AreEqual("b", data.AddOrUpdate(2, Function(k) "b", Function(k, v) k.ToString())) Assert.AreEqual("2", data.AddOrUpdate(2, Function(k) "b", Function(k, v) k.ToString())) |
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
Reference
LurchTable<TKey,TValue> ClassLurchTable<TKey,TValue> Members
Overload List
KeyValueUpdate